Inferred discovery and construction of multi-resolution images

ABSTRACT

A method and a processing device may be provided for discovering and constructing multi-resolution images. Content, including an image, may be obtained from a specified address via a network and rendered to a display monitor of the processing device. The processing device may attempt to discover a second image, corresponding to the image included in the obtained content, but with a different resolution than a resolution of the image included in the obtained content. If the second image is discovered, the second image and the image included in the obtained content may be linked to create a multi-resolution image. If the image included in the content rendered to the display monitor is enlarged beyond a threshold, the rendered image may become pixelated. A high resolution image corresponding to and linked to the rendered image may be blended into the enlarged rendered image to eliminate pixelation.

BACKGROUND

Computer monitor resolution has increased along with computer networkbandwidth. However, many images stored on processing devices connectedto a computer network, such as, for example, the Internet or othernetworks, are not encoded in a multi-resolution format. Consequently, auser may execute a browser on a processing device to view an image notencoded in the multi-resolution format. As the user starts “zooming-in”on rendered content, including the image, the image may be renderedlarger than originally intended. As a result, the image may be renderedwith poor detail and may become pixelated.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that is further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

In embodiments consistent with the subject matter of this disclosure, amethod and a processing device may be provided. The processing devicemay execute a browser application for obtaining content from a specifiedaddress via a network and rendering the content to a display monitor ofthe processing device. The obtained content may include an image. Theprocessing device may attempt to discover a second image, correspondingto the image included in the obtained content, but having a resolutiondifferent from a resolution of the image included in the obtainedcontent. If the second image is discovered, then the image and thesecond image may be linked to create a multi-resolution image.

A user may enter a command to enlarge an image included in the renderedcontent. As the image is enlarged, the enlarged image may becomepixelated. The processing device may detect that a size of the enlargedimage is beyond a threshold and may attempt to discover a correspondingimage having a higher resolution than the enlarged image. If thecorresponding image is discovered, the processing device may blendaspects of the corresponding image into the enlarged image to eliminatepixelation of the enlarged image.

DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features can be obtained, a more particular descriptionis described below and will be rendered by reference to specificembodiments thereof which are illustrated in the appended drawings.Understanding that these drawings depict only typical embodiments andare not therefore to be considered to be limiting of its scope,implementations will be described and explained with additionalspecificity and detail through the use of the accompanying drawings.

FIG. 1 illustrates an exemplary operating environment for embodimentsconsistent with the subject matter of this disclosure.

FIG. 2 is a functional block diagram of an exemplary processing device,which may implement processing devices shown in FIG. 1.

FIGS. 3 and 4 are flowcharts which illustrate an exemplary process fordiscovering and creating a multi-resolution image.

FIG. 5 is a flowchart illustrating an exemplary process for finding animage in downloaded content, which may have a correspondinghigh-resolution image.

FIG. 6 is a flowchart of an exemplary process for attempting to discoverone or more related images having different resolutions.

FIG. 7 is a flowchart of a second exemplary process for attempting todiscover one or more related images having different resolutions.

FIG. 8 is a flowchart illustrating an exemplary process for enlarging arendered multi-resolution image.

DETAILED DESCRIPTION

Embodiments are discussed in detail below. While specificimplementations are discussed, it is to be understood that this is donefor illustration purposes only. A person skilled in the relevant artwill recognize that other components and configurations may be usedwithout parting from the spirit and scope of the subject matter of thisdisclosure.

Overview

Embodiments consistent with the subject matter of this disclosure mayprovide a processing device and a method in which content, including animage, may be obtained via a computer network and rendered on a displaymonitor of the processing device. In some embodiments, the processingdevice may execute a browser to obtain and render the content on thedisplay monitor. An attempt may be made to discover a correspondingimage having a different resolution than a rendered image. If thecorresponding image is discovered, the rendered image and thecorresponding image may be linked to create a multi-resolution image.

When the processing device displays the rendered content, the user mayenter a command to enlarge or zoom-in on the rendered content. Thecommand may be entered in a number of different ways, including, but notlimited to, using a computer pointing device, such as, for example, acomputer mouse, to place a cursor over an area to be an enlarged andusing a scroll wheel of a computer mouse to indicate an amount by whichthe area is to be an enlarged. Of course, numerous other methods may beused by the user to enter the command to enlarge the rendered content.As a rendered image is enlarged, the processing device may detect that asize of the enlarged image is beyond a threshold and, as such, therendered enlarged image may become pixelated. The enlarged image may bea newly-created multi-resolution image. The processing device maydiscover a corresponding image having a higher resolution than thepixelated rendered image. The processing device may then blend aspectsof the corresponding higher resolution image into the enlarged renderedimage to eliminate pixelation of the rendered enlarged image.

The method may be recursive. For example, as the rendered image isfurther enlarged, the processing device may further discover an othercorresponding image having an even higher resolution, such that aspectsof the other corresponding image may be blended into the renderedenlarged image to eliminate the pixelation of the rendered enlargedimage.

Exemplary Operating Environment

FIG. 1 illustrates an exemplary operating environment 100 consistentwith the subject matter of this disclosure. Exemplary operatingenvironment 100 may include a network 102 and processing devices 104,106.

Network 102 may be a single network or a combination of networks, suchas, for example, the Internet or other networks. Network 102 may includea wireless network, a wired network, a packet-switching network, apublic switched telecommunications network, a fiber-optic network, othertypes of networks, or any combination of the above.

Processing device 104 may be a user's processing device, such as, forexample, a desktop personal computer (PC), a laptop PC, a handheldprocessing device, or other processing device.

Processing device 106 may include a server. In some embodiments, anoperating environment may include multiple processing devices 106 orservers. The servers may be configured to work together as a serverfarm.

Exemplary Processing Device

FIG. 2 is a functional block diagram of an exemplary processing device200, which may be used in embodiments consistent with the subject matterof this disclosure to implement processing device 104 and/or processingdevice 106. Processing device 200 may include a bus 210, an input device220, a memory 230, a read only memory (ROM) 240, an output device 250, aprocessor 260, a storage device 270, and a communication interface 280.Bus 210 may permit communication among components of processing device200.

Processor 260 may include at least one conventional processor ormicroprocessor that interprets and executes instructions. Memory 230 maybe a random access memory (RAM) or another type of dynamic storagedevice that stores information and instructions for execution byprocessor 260. Memory 230 may also store temporary variables or otherintermediate information used during execution of instructions byprocessor 260. ROM 240 may include a conventional ROM device or anothertype of static storage device that stores static information andinstructions for processor 260. Storage device 270 may include a compactdisc (CD), digital video disc (DVD), a magnetic medium, or other type ofstorage device for storing data and/or instructions for processor 260.

Input device 220 may include a keyboard, a joystick, a pointing deviceor other input device. Output device 250 may include one or moreconventional mechanisms that output information, including one or moredisplay monitors, or other output devices. Communication interface 280may include a transceiver for communicating via one or more networks viaa wired, wireless, fiber optic, or other connection.

Processing device 200 may perform such functions in response toprocessor 260 executing sequences of instructions contained in atangible machine-readable medium, such as, for example, memory 230, ROM240, storage device 270 or other medium. Such instructions may be readinto memory 230 from another machine-readable medium or from a separatedevice via communication interface 280.

Exemplary Processing

FIG. 3 is a flowchart illustrating exemplary processing, which may beperformed in embodiments of processing device 104 consistent with thesubject matter of this disclosure. A processing device, such asprocessing device 104 may execute a browser to obtain and displaycontent via a network. The process may begin with processing device 104executing the browser, or another application, to download content of aspecified address, which may be an address referring to processingdevice 106, via network 102 (act 302). Processing device 104 may thenrender the downloaded content to a display monitor (act 304). Processingdevice 104 may then attempt to find an image within the downloadedcontent (act 306).

FIG. 5 is a flowchart illustrating exemplary processing 306-1 which maybe performed during act 306 in one embodiment consistent with thesubject matter of this disclosure. The process may begin with processingdevice 104 walking through a document object model (DOM) of thedownloaded content to find an embedded image within an anchor tag (act502). A DOM is a well known standard way of representing hypertextmarkup language (HTML), as well as other standard generalized markuplanguage (SGML) derived documents, as data objects within a tree. Ananchor tag is a tag which points to a location within a webpage.

Next, processing device 104 may determine whether an embedded image wasfound within the anchor tag (act 504). If an embedded image was found,then processing device 104 may provide an indication that an embeddedimage was found (act 506) by for example, setting a flag. Otherwise,processing device 104 may provide an indication that an embedded imagewas not found (act 508).

Returning to FIG. 3, processing device 104 may determine whether anembedded image was found, based on the provided indication (act 308). Ifno embedded image was found, then the process may be completed.

If, during act 308, processing device 104 determines that an image wasfound, then processing device 104 may attempt to discover one or morerelated images with different resolution than the found image based oninformation associated with the found image (act 310).

FIG. 6 is a flowchart illustrating an exemplary process 310-1, which maybe performed by processing device 104 during act 310 in the embodimentpreviously referred to with respect to FIG. 5. The process may beginwith processing device 104 using a link, within the anchor tag havingthe embedded image, to download a target of the anchor tag (act 602).The target of the anchor tag may be downloaded asynchronously.

Next, processing device 104 may determine whether the target of theanchor tag is an image (act 604). If processing device 104 determinesthat the target of the anchor tag is an image, then processing device104 may set a target image to be a target of the anchor tag (act 606).

If, during act 604, processing device 104 determines that the target ofthe anchor tag is not an image, then processing device 104 may set thetarget image to be an image representation of the rendered target of theanchor tag (act 608). That is, processing device 104 may create animage, such as, for example, a screen capture, of a webpagecorresponding to the target of the anchor tag.

Next, processing device 104 may compare the embedded image within theanchor tag to the target image to determine whether the target image andthe embedded image correspond to one another, but are of differentresolutions (act 610). In some embodiments, the target image may have ahigher resolution than the embedded image. An image comparison methodused to compare the embedded image and the target image may be any wellknown image comparison method which is agnostic to differences inresolution of compared images.

If processing device 104 determines that the target image and theembedded image correspond to one another and are of differentresolutions, then processing device 104 may indicate that a related theimage was found (act 612) by, for example, setting a flag. Otherwise,processing device 104 may indicate that a related image was not found(act 614).

Returning to FIG. 3, processing device 104 may determine whether one ormore related images were found based on an indication returned as aresult of performing act 310 (act 312). If no related image or imageswere found, and then processing device 104 may again perform act 306 tofind a next image, if any, in the downloaded content.

If, during act 312, one or more related images were found, thenprocessing device 104 may link the image and the one or more foundrelated images to create a multi-resolution image (act 402; FIG. 4).Processing device 104 may provide a visual indication, with respect tothe rendered image, that the rendered image is a multi-resolution image(act 404). Processing device 104 may then perform act 306 (FIG. 3) toattempt to find another image within the downloaded content.

In another embodiment consistent with the subject matter of thisdisclosure, when performing act 306 (FIG. 3), instead of walking a DOMto search for an embedded image with an anchor tag, processing device104 may simply attempt to find an image within the downloaded content.If an image is found, processing device 104 may provide an indicationby, for example, setting a flag. If an image is not found, processingdevice 104 may provide an indication that no image was found.

FIG. 7 is a flowchart 310-2 illustrating an exemplary process forperforming act 310 of FIG. 3 in the embodiment referred to in theimmediately preceding paragraph. The process may begin with processingdevice 104 indicating that an image related to the found image was notfound (act 702). Processing device 104 may then determine whether amulti-resolution image schema exists for the specified addresscorresponding to the rendered downloaded content (act 704). This may beperformed by processing device 104 determining whether a correspondingmulti-resolution image schema matching the specified address exists in adata store such as, for example, storage device 270, memory 230, ROM240, or other data store of processing device 104. If the correspondingmulti-resolution image schema does not exist, then no related image wasfound and the process is completed.

If, during act 704, processing device 104 determines that thecorresponding multi-resolution scheme exists, then elements of an imagetag included within the multi-resolution schema, such as, for example,image path, ID, and a link, as well as other information, may be passedto an image discovery engine, which may use the correspondingmulti-resolution schema and the passed elements of the image tag toconstruct a candidate address for retrieving one or more related imageshaving different resolutions than the image found during act 306 (act706). The one or more related images may be images of a higherresolution than the found image.

As an example, a multi-resolution scheme for a particular entry, suchas, for example, an image called dsc7590.jpg, from an address,photos.com, may indicate that a corresponding thumbnail image may beretrieved from an address “photos.com/thumbnail/dsc7590.jpg”, acorresponding medium resolution image may be retrieved from an address“photos.com/medium/dsc7590.jpg”, and a corresponding high resolutionimage may be retrieved from “photos.com/high/dsc7590.jpg”.

The multi-resolution schema may then be accessed to obtain a confidencelevel regarding an existence of the constructed candidate address (act708). If the corresponding multi-resolution schema indicates that thereis a high confidence level that the candidate address exists and willproduce a corresponding different resolution image, processing device104 may set a target image to be a result of retrieving content at thecandidate address (act 712). Processing device 104 may then indicatethat a related image was found (act 714) by, for example, setting aflag.

If, during act 708, the multi-resolution schema does not indicate a highlevel of confidence that the constructed candidate address exists, thenprocessing device 104 may determine existence of the candidate address(act 710). This may be performed in a number of different ways. Forexample, the candidate address may be pinged by processing device 104via network 102 to determine existence of the candidate address. Ifprocessing device 104 receives a response, as a result of pinging thecandidate address, then the candidate address is determined to exist. Inan alternate method of determining existence of the candidate address,content may be retrieved by processing device 104 using the candidateaddress. The image found during act 306 may then be compared with thecontent retrieved using the candidate address to determine whether thecontent is an image corresponding to the found image, and has adifferent resolution, such as, for example, a higher resolution.

If, as a result of performing act 710, the candidate address isdetermined to exist, (either via pinging the candidate address,determining that an image corresponding to the found image, but with adifferent resolution, exists at the candidate address, or via anothermethod) then act 712 and 714 may be performed, as previously described.Otherwise, processing device 104 may determine whether other resolutionimages related to the found image exists, as indicated by themulti-resolution schema (act 716). If no other resolution images exist,then the process may be complete. Otherwise, act 706 may again beperformed to construct a new candidate address based on one or moreexisting other resolution images, as indicated by the multi-resolutionschema.

FIG. 8 is a flowchart of an exemplary process for enlarging a renderedimage included in rendered content. The process may begin withprocessing device 104 receiving a command from a user to enlarge orzoom-in on the rendered image (act 802). The user may provide thecommand via a number of different methods, including, but not limitedto, using a pointing device, such as a computer mouse with a scrollwheel, to place a cursor over the rendered image. The user may roll thescroll wheel in a particular direction to indicate an amount by whichthe rendered image is to be enlarged. The user may roll the scroll wheelin an opposite direction to indicate an amount by which the renderedimage is to be decreased in size. Of course, in other embodiments, manyother methods may be used to indicate an amount by which a renderedimage is to be enlarged or decreased in size.

Next, processing device 104 may set a threshold, with respect to anamount a rendered image may be enlarged without pixelation, based on aresolution of the rendered image (act 804). Processing device 104 maythen enlarge the rendered image by the indicated amount (act 806).Processing device 104 may then determine whether the rendered image isenlarged beyond the threshold (act 808). If the rendered image is notenlarged beyond the threshold, then the process may be complete.

If, during act 808, processing device 104 determines that the renderedimage is enlarged beyond the threshold, then processing device 104 maydetermine whether a corresponding higher resolution image is available(act 810). Processing device 104 may determine availability of a higherresolution image by determining whether a higher resolution image islinked to the rendered image, as may have been performed during act 402(FIG. 4). If processing device 104 determines that a correspondinghigher resolution image is available, then processing device 104 mayblend aspects of the higher resolution image into the enlarged renderedimage (act 812).

The process illustrated by the flowchart of FIG. 8 may be a recursiveprocess. For example, after finding a higher resolution image andblending aspects of the high-resolution image into an enlarged renderedimage, as performed by acts 810 and 812, another command to enlarge orzoom-in on the rendered image may be received (act 802) and a newthreshold may be set according to a resolution of a current renderedimage (act 804), which in this case is the blended enlarged renderedimage. If processing device 104 enlarges the rendered image (act 806)and determines that the enlarged rendered image exceeds the thresholddetermined for the higher resolution image previously found during act810 (act 808), then processing device 104 may determine whether a higherresolution image, which has a higher resolution than the previously usedhigher resolution image, is available (act 810). If such an image isavailable, then processing device 104 may blend aspects of the higherresolution image having a higher resolution than the previously usedhigher resolution image (act 812).

The process of FIG. 8 may continue to enlarge a rendered image withoutpixelation as long as a higher resolution image is determined to beavailable such that a threshold corresponding to the available higherresolution image is not exceeded by enlarging the rendered image.

CONCLUSION

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter in the appended claims is not necessarilylimited to the specific features or acts described above. Rather, thespecific features and acts described above are disclosed as exampleforms for implementing the claims.

Although the above descriptions may contain specific details, they arenot be construed as limiting the claims in any way. Other configurationsof the described embodiments are part of the scope of this disclosure.Further, implementations consistent with the subject matter of thisdisclosure may have more or fewer acts than as described, or mayimplement acts in a different order than as shown. Accordingly, theappended claims and their legal equivalents define the invention, ratherthan any specific examples given.

1. A machine-implemented method for discovering and constructing amulti-resolution image, the machine-implemented method comprising:downloading content of a specified address via a network; finding afirst image within the downloaded content; discovering a second imagebased on information associated with the first image, the second imagebeing a higher resolution image corresponding to the first image; andlinking the first image and the second image together to create themulti-resolution image.
 2. The machine-implemented method of claim 1,further comprising: rendering the downloaded content including the firstimage; zooming-in on the first image included in the rendered content;and blending aspects of the second image into the zoomed-in first imageto create an enlarged image.
 3. The machine-implemented method of claim1, wherein: the finding of a first image within the downloaded contentfurther comprises: walking a document object model of the content tosearch for the first image embedded in an anchor tag; the discovering ofa second image based on information associated with the first imagefurther comprises: downloading a target of the anchor tag, determiningwhether the target of the anchor tag is an image, setting a target imageto be the image when the target of the anchor tag is determined to bethe image, and comparing the first image with the target image todetermine whether the target image and the first image are of a sameimage, but with different resolution; and the linking of the first imageand the second image together to create the multi-resolution imagefurther comprises: linking the first image and the target image togetherto create the multi-resolution image when the comparing of the firstimage and the target image determines that the target image and thefirst image are of the same image.
 4. The machine-implemented method ofclaim 1, wherein: the finding of a first image within the downloadedcontent further comprises: walking a document object model of thecontent to search for the first image embedded in an anchor tag; thediscovering of a second image based on information associated with thefirst image further comprises: downloading a target of the anchor tag,determining whether the target of the anchor tag is an image, setting atarget image to be the image when the target of the anchor tag isdetermined to be the image, and setting the target image to be an imagerepresentation of a rendering of the target of the anchor tag when thetarget of the anchor tag is determined not to be the image.
 5. Themachine-implemented method of claim 1, further comprising: determiningwhether the specified address has an associated multi-resolution imageschema, wherein: the discovering of a second image based on informationassociated with the first image further comprises: performing only whenthe specified address has the associated multi-resolution image schema:constructing, based on the associated multi-resolution image schema, acandidate address for a higher resolution image corresponding to thefirst image, and considering the candidate address as an address for thesecond image.
 6. The machine-implemented method of claim 1, furthercomprising: determining whether the specified address has an associatedmulti-resolution image schema, wherein: the discovering of a secondimage based on information associated with the first image furthercomprises: performing only when the specified address has the associatedmulti-resolution image schema: constructing, based on the associatedmulti-resolution image schema, a candidate address for a higherresolution image corresponding to the first image, determining whetherthe candidate address exists, and considering the candidate address asan address for the second image only when the candidate address isdetermined to exist.
 7. The machine-implemented method of claim 1,further comprising: determining whether the specified address has anassociated multi-resolution image schema, wherein: the discovering of asecond image based on information associated with the first imagefurther comprises: performing only when the specified address has theassociated multi-resolution image schema: constructing, based on theassociated multi-resolution image schema, a candidate address for ahigher resolution image corresponding to the first image, determiningwhether the candidate address exists, fetching second contentcorresponding to the candidate address, and comparing the second contentwith the first image to determine whether the second content and thefirst image are of a same image, but with different resolution, wherein:the linking of the first image and the second image together to createthe multi-resolution image further comprises: linking the first imagewith the second content when the comparing determines that the secondcontent and the first image are of the same image.
 8. Themachine-implemented method of claim 1, further comprising: providing avisual indication when a higher resolution image corresponding to arendered image is found.
 9. The machine-implemented method of claim 1,further comprising: discovering a third image based on informationassociated with the first image, the third image corresponding to thefirst image and having a different resolution than a resolution of thefirst image and a resolution of the second image; linking the thirdimage with the first image and the second image to create themulti-resolution image; rendering the downloaded content including thefirst image; zooming-in on the first image included in the renderedcontent; blending aspects of the second image into the zoomed-in firstimage to create an enlarged image when the zoomed-in first image exceedsa first threshold; zooming-in on the enlarged image; and blendingaspects of the third image into the zoomed-in enlarged image to create asecond enlarged image larger than the enlarged image when the zoomed-inenlarged image exceeds a second threshold.
 10. A machine-readable mediumhaving instructions recorded thereon for at least one processor, theinstructions comprising: instructions for finding a first image withindownloaded content; instructions for attempting to discover a secondimage, related to the first image, based on information associated withthe downloaded content, the second image having a resolution differentfrom a resolution of the first image; and instructions for linking thefirst image and the second image to create a multi-resolution image whenthe second image is successfully discovered.
 11. The machine-readablemedium of claim 10, wherein: the instructions for attempting to discovera second image based on information associated with the downloadedcontent further comprise: instructions for determining whether anaddress corresponding to the downloaded content has an associatedmulti-resolution image schema, and instructions for constructing acandidate address of the second image based on elements of an image tagdescribed in the associated multi-resolution schema.
 12. Themachine-readable medium of claim 10, wherein: the instructions forattempting to discover a second image based on information associatedwith the downloaded content further comprise: instructions fordetermining whether an address corresponding to the downloaded contenthas an associated multi-resolution image schema, instructions forconstructing a candidate address of the second image based on elementsof an image tag described in the associated multi-resolution schema, andinstructions for determining an existence of the candidate address. 13.The machine-readable medium of claim 10, wherein: the instructions forattempting to discover a second image based on information associatedwith the downloaded content further comprises: instructions fordetermining whether an address corresponding to the downloaded contenthas an associated multi-resolution image schema, instructions forconstructing a candidate address of the second image based on elementsof an image tag described in the associated multi-resolution schema,instructions for obtaining second content corresponding to the candidateaddress, and instructions for comparing the first image with the secondimage included in the second content to determine whether the secondimage corresponds to the first image with the resolution different fromthe resolution of the first image.
 14. The machine-readable medium ofclaim 10, wherein: the instructions for finding a first image withindownloaded content further comprise: instructions for searching adocument object model of the downloaded content for the first imageembedded in an anchor tag.
 15. The machine-readable medium of claim 10,wherein: the instructions for finding a first image within downloadedcontent further comprise: instructions for searching a document objectmodel of the downloaded content for the first image embedded in ananchor tag; and the instructions for attempting to discover a secondimage based on information associated with the downloaded contentfurther comprise: instructions for downloading a target of the anchortag, and instructions for determining whether the target of the anchortag is the second image.
 16. The machine-readable medium of claim 10,wherein the instructions further comprise: instructions for renderingthe downloaded content including the first image, instructions forreceiving a command to enlarge the first image to produce an enlargedimage, instructions for determining that the first image is enlargedbeyond a threshold, and instructions for blending aspects of the secondimage into the enlarged image when the first image is determined to beenlarged beyond the threshold.
 17. The machine-readable medium of claim10, wherein the instructions further comprise: instructions forattempting to discover a third image, related to the first image, basedon information associated with the downloaded content, the third imagehaving a resolution different from a resolution of the first image and aresolution of the second image; and instructions for linking the thirdimage with the first image.
 18. The machine-readable medium of claim 10,wherein the instructions further comprise: instructions for attemptingto discover a third image, related to the first image, based oninformation associated with the downloaded content, the third imagehaving a resolution different from a resolution of the first image and aresolution of the second image; instructions for linking the third imagewith the first image and the second image; instructions for renderingthe downloaded content including the first image, instructions forreceiving a command to enlarge the first image to produce an enlargedfirst image, instructions for determining that the enlarged first imageis enlarged beyond a first threshold, instructions for blending aspectsof the second image into the enlarged first image when the enlargedfirst image is determined to be enlarged beyond the first threshold;instructions for determining that the enlarged first image is enlargedbeyond a second threshold; and instructions for blending aspects of thethird image into the enlarged first image when the enlarged first imageis determined to be enlarged beyond the second threshold.
 19. Aprocessing device comprising: at least one processor; and a memoryhaving instructions stored therein for the at least one processor, theinstructions comprise: instructions for finding a first image withindownloaded content, instructions for attempting to discover one or moreimages related to the first image, based, at least partly, oninformation associated with the downloaded content, the one or moreimages having different resolutions from one another and the firstimage, instructions for linking the first image with the discovered oneor more images related to the first image to create a multi-resolutionimage, instructions for rendering the downloaded content including thefirst image, instructions for enlarging the first image in response to areceived command to produce an enlarged image, instructions for blendingaspects of a second image of the one or more images into the enlargedimage when the enlarged image is enlarged by at least a first threshold,and instructions for blending aspects of a third image of the one ormore images into the enlarged image when the enlarged image is enlargedby at least a second threshold.
 20. The processing device of claim 19,wherein the instructions further comprise: instructions for providing avisual indication when the discovered one or more images related to thefirst image is linked to the first image.